import React, { Component } from "react";
import { BrowserRouter as Router, Route, Switch, Link, } from "react-router-dom";
import { ImagePicker, WingBlank, Toast } from "antd-mobile";
import { Form, Icon, Input, Button, Alert, Layout, Avatar, Modal, message, Select, Upload, Card, Row, Col, Radio, Image  } from "antd";

import { getSendStudentInOrOutMessageForIdApi, } from "../js/patrolpushapi.js";

import { getSignature } from "../js/dangerpushapi.js";
import { iconFontUrl } from "../js/config.js";

const IconFont = Icon.createFromIconfontCN({
    scriptUrl: iconFontUrl
});

import { AntDesignOutlined } from '@ant-design/icons';
const { Meta } = Card;

const WX = require("jweixin-wechat");

class StudentInOutPush extends Component {

    constructor(props) {
        super(props);
        this.state = {
            nodata: false,
            data:[],
        };
    }

    previewImageDeal(){

      
 
    
    
    console.log('dianwol');
    
        WX.previewImage({
          current: this.state.data.image, // 当前显示图片的http链接
          urls: [this.state.data.image] // 需要预览的图片http链接列表
        })
      }
    componentDidMount() {
        getSignature(window.location.href)
            .then(res => {
                WX.config({
                    debug: false, //开启debug模式，在验证签名过程中会返回对应信息
                    appId: res.data.appid,
                    signature: res.data.signature,
                    nonceStr: res.data.noncestr,
                    timestamp: res.data.timestamp,
                    jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage']// 必填，需要使用的JS接口列表
                });
            })
            .catch((e) => {
                if (e.response) {
                    //请求已发出，服务器返回状态码不是2xx。
                    console.info(e.response.data)
                    console.info(e.response.status)
                    console.info(e.response.headers)    
                } else if (e.request) {
                    // 请求已发出，但没有收到响应
                    // e.request 在浏览器里是一个XMLHttpRequest实例，
                    // 在node中是一个http.ClientRequest实例
                    console.info(e.request)
                } else {
                    //发送请求时异常，捕捉到错误
                    console.info('error', e.message)
                }
                console.info(e.config)
            });

        let urlData = this.getUrlParam("state");

     
        let id = urlData.split("=")[1].replace("#", '');
        console.log('urlData', urlData.split("="), id);
        WX.ready(function () {
            var obj = {
                title: '学生'+this.state.data.inorout+'提醒', // 分享标题
                desc: '点击查看' + '学生'+this.state.data.inorout+'提醒详情！', // 分享描述
                link: 'https://tidukeji.cn/dailypush/studentinoutpushdetail/index.html?state='+parseInt(id), // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                // 该链接是重定向链接，因为需要获取用户code，但是该链接又无法直接写微信获取code的链接，
                // 所以需要点击后重新加载新的页面，来实现重定向，重新打开获取code的微信链接，实现获取用户信息的功能；
                imgUrl: 'https://tidukeji.cn/wxImage/newLogo.png', // 分享图标
                fail: function (res) {
                    console.log(JSON.stringify(res));
                }
            };
            // 2.1 监听“分享给朋友”，按钮点击、自定义分享内容及分享结果接口
            WX.onMenuShareAppMessage(obj);

            // 2.2 监听“分享到朋友圈”按钮点击、自定义分享内容及分享结果接口
            WX.onMenuShareTimeline(obj);
        })

        getSendStudentInOrOutMessageForIdApi(id)
        .then((res) => {
        this.setState({
            data:res.data
        })
        })
        .catch((e) => {
            if (e.response) {
                //请求已发出，服务器返回状态码不是2xx。
                console.info(e.response.data)
                console.info(e.response.status)
                console.info(e.response.headers)
            } else if (e.request) {
                // 请求已发出，但没有收到响应
                // e.request 在浏览器里是一个XMLHttpRequest实例，
                // 在node中是一个http.ClientRequest实例
                console.info(e.request)
            } else {
                //发送请求时异常，捕捉到错误
                console.info('error', e.message)
            }
            console.info(e.config)
        });
    }

    getUrlParam(name) {
        var reg = new RegExp("(^|&)" + name + "=[0-9]*(#|$)"); //构造一个含有目标参数的正则表达式对象
// //本地测试
        // var l='?appid=wxa3c085447f9faefa&redirect_uri=https%3a%2f%2ftidukeji.cn%2fdailypush%2f%2fstudentinoutpushdetail%2findex.html&response_type=code&scope=snsapi_base&state=705#wechat_redirect'
        // var r =l.substr(1).match(reg);  //匹配目标参数
        // // 线上
        var r = window.location.search.substr(1).match(reg);  //匹配目标参数
       

        console.log('wos', r);
        if (r != null) return unescape(r[0]);
        return null; //返回参数值
    }

    render() {
        const bindImageSrc=this.state.data.image||'http://47.111.158.147:8080/fileImage/123002_1607328079415.jpg';
       const colors=this.state.data.inorout=='进校'?"studentinoutpush": "studentinoutpush1";
        return (
            <div style={{

                width: '100%',
             

                backgroundColor: '#ffffff',
                // marginLeft:'10%'
                padding: '12px 2px 12px 12px',
            }}>
                {
                    this.state.nodata ? (<IconFont type="icon-zanwushuju" style={{
                        position: 'fixed',
                        fontSize: '180px',
                        left: '50%',
                        top: '50%',
                        transform: 'translate(-50%, -50%)'

                    }} />) : (

                            <div style={{

                                width: '100%',
                                margin: '0 auto',
                                // height: '100%',
                                overflow:'hidden',
                                padding: '8px',
                            }}>

                                <Card 
                                 title={ <Meta
      avatar={<Avatar src="https://tidukeji.cn/wxImage/newLogo.png" />}
      title={'学生'+this.state.data.inorout+'提醒'}
      description='梯度智慧安监'
    />}
                                

                                bordered={false}>
                                     
                                    {/* <p style={{ textAlign: 'center', marginTop: '2%', color: '#24B0D3', fontSize: '1.8rem' }}>温馨提醒</p> */}
                                    <p style={{ textAlign: 'left', textIndent: '2em',  fontSize:'1rem' }}>家长您好！你的孩子
                                    
                                    
                                    <span className={colors}> {this.state.data.studentName}  </span>
                                    已在  <span className={colors}>{this.state.data.time} </span>
                                    {/* <span className={colors}>  {this.state.data.inorout}  </span> */}
                                  
                                     <span className={colors}>  {this.state.data.address}  </span>处<span className={colors}>  {this.state.data.inorout}  </span>，请知悉！
                                 
                                   
                                   
                                    </p>

                                 <div style={{height:'80%', overflow:'hidden',  textAlign:'center', }} onClick={()=>this.previewImageDeal() }>
                                    

                                 <img   style={{
                  
                    width:250,
                    height:250,
               
                    textAlign:'center',
                    border:'1px dashed #d9d9d9',
                    borderRadius:'4px',
                   }} src={bindImageSrc} />
                   <p  style={{marginBottom:'10px', fontSize:'0.8rem', color:'#333333'}}>现场照片</p> 

                                 </div>
                                </Card>
                            </div>

                        )

                }
            </div>


        )

    }



}


import React, { Component } from 'react'
import Axios from "axios";

export class  Search extends Component {


    constructor(){
        super(props)
        this.state={
            searchValue:'',
            actionFlag:false,
            resultArr:[]


        }
    }

    handleChange= e=>{
        this.setState(
            {searchValue:e.target.value,
                actionFlag:false
            },
            () => {
                if (this.state.searchValue === ''){
                    //输入为空时
                    this.setState({firmsList:[]})
                }
                clearTimeout(this.timer);
                this.timer = setTimeout(async () => {
                    //中文输入结束并且输入不为空
                    if(this.state.actionFlag && this.state.searchValue){
                        //调取后端接口
                        Axios.post(preurl+"Statistics/getAllPatrolPlan", {
                            schoolId:schoolId
                        }).then((res)=>{
                            this.setState({
                                resultArr:res.data.resultArr
                            })

                        }) .catch((e) => {
                            if (e.response) {
                                //请求已发出，服务器返回状态码不是2xx。
                                console.info(e.response.data)
                                console.info(e.response.status)
                                console.info(e.response.headers)
                            } else if (e.request) {
                                // 请求已发出，但没有收到响应
                                // e.request 在浏览器里是一个XMLHttpRequest实例，
                                // 在node中是一个http.ClientRequest实例
                                console.info(e.request)
                            } else {
                                //发送请求时异常，捕捉到错误
                                console.info('error', e.message)
                            }
                            console.info(e.config)
                        });
                    }
                },300)
            }
            );
    
   

    }
    handleFocus= ()=>{
        this.setState({
            actionFlag:true
        })
    }
    handleInput= e =>{
        this.setState({
            searchValue:e.target.value
        })
    }


    render() {
        return (
            <div>
                <input    type="text"  onChange={this.handleChange} 
                oninput={this.handleInput} 
                onfocus ={this.handleFocus}
                 value={this.state.searchValue}
		       onClick={this.inputClick}></input>

               <div className="macthList">

               {
this.state.resultArr.map((item)=><div>{item}</div>)

               }
               </div>
  
		        	   
		        
            </div>
        )
    }
}




export{StudentInOutPush}
export default StudentInOutPush;
